package bosque.unc;

import java.util.HashMap;

import bosque.unc.enumerations.Sensor;
import bosque.unc.gui.Scoba;

/**
 * Hilo encargado de actualizar tiempos y datos astronomicos
 *
 */
public class ActualizadorTiempos extends Thread
{
	private Scoba scoba;

	private Integer delay = 100;
	private boolean flagActualizarTiempos = true;
	
	public ActualizadorTiempos(Scoba gui){
		this.scoba = gui;
		
	}
	
	public void run()
	{
		while(flagActualizarTiempos)
		{

			/* Refrescar valor Fecha y Hora Local */
			this.scoba.getLblFC().setText(Funciones.getFechaLocalFromSystem());
			this.scoba.getLblTC().setText(Funciones.getHoraLocalFromSystem());
			
			/* Refrescar valor Tiempo Universal */
			this.scoba.getLblTiempoUniversal().setText(Funciones.getHoraUTCFromSystem());
			
			/* Refrescar valor Dia Julianos */
			this.scoba.getLblDiasJulianos().setText(String.valueOf(Funciones.getDiaJuliano()));
			
			/* Refrescar valor Tiempo Sidereo Local */
			this.scoba.getLblTiempoSiderio().setText(Funciones.horasToHsMinSeg(Funciones.gradosSexToHoras(Math.toDegrees(Funciones.getTiempoSidereoLocal()))));
			
			/* Refrescar valor Tiempo Sidereo Universal*/
			this.scoba.getLblTiempoSiderioGMST().setText(Funciones.horasToHsMinSeg(Funciones.gradosSexToHoras(Math.toDegrees(Funciones.getTiempoSidereoGMT()))));
			
	    
			try
			{
				Thread.sleep(delay);
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}

	public Integer getDelay() {
		return delay;
	}

	public void setDelay(Integer delay) {
		this.delay = delay;
	}

	public boolean isFlagActualizarTiempos() {
		return flagActualizarTiempos;
	}

	public void setFlagActualizarTiempos(boolean flagActualizarTiempos) {
		this.flagActualizarTiempos = flagActualizarTiempos;
	}
	
	

}
